﻿namespace SSC.Models
{
    /// <summary>
    /// 产品模型类
    /// </summary>
    public class ProductModel
    {
        public string Pcode { get; set; }             // 产品编码
        public string PartName { get; set; }          // 料号（物料编码）
        public Dictionary<int, int> SlotTimes { get; set; }  // 键为槽号，值为停留时间（单位：秒）

        public string? Remark1 { get; set; }           // 备注1
        public string? Remark2 { get; set; }           // 备注2
        public string? Remark3 { get; set; }           // 备注3（可扩展）

        // 带参构造函数，初始化基本字段
        public ProductModel(string pCode, string partName)
        {
            Pcode = pCode;
            PartName = partName;
            SlotTimes = new Dictionary<int, int>(); 
        }
        
        // 添加或更新槽位的停留时间
        public void SetSlotTime(int slotNumber, int stayTime)
        {
            if (!SlotTimes.TryAdd(slotNumber, stayTime))
            {
                SlotTimes[slotNumber] = stayTime;  // 更新已有的槽位时间
            }
        }

        // 获取某个槽位的停留时间
        public int GetSlotTime(int slotNumber)
        {
            return SlotTimes.TryGetValue(slotNumber, out int value) ? value : 0;  // 如果没有时间记录，返回0
        }
    }
}
